(defun c:estante () (setq pontos2d (getvar "osmode")) (setq pontos3d (getvar "3dosmode")) (setvar "osmode" 0) (setvar "3dosmode" 0) (setq pt1 (getpoint "indique o ponto de inserção da estante: ")) (If (= nil (setq comprimento (getreal " indique o comprimento da estante (em x): "))) (setq comprimento 1.20)) (If (= nil (setq profundidade (getreal "indique a profundidade da estante (em y): "))) (setq profundidade 0.60)) (If (= nil (setq altura (getreal "indique a altura total da estante : (em z): "))) (setq altura 2.20)) (If (= nil (setq espessura (getreal "indique a espessura da estante: "))) (setq espessura 0.04)) (If (= nil (setq alt1 (getreal "indique a distância entre prateleiras : (em z): "))) (setq alt1 0.50)) (modelar) (setvar "osmode" pontos2d) (setvar "3dosmode" pontos3d) (command "ucs" "") ) (defun modelar () (command "ucs" pt1 "") (command "box" (list 0 0 0) (list comprimento profundidade espessura)) ;desenhar a base da estante (command "box" (list 0 0 (- altura espessura)) (list comprimento profundidade altura)) ;desenhar o topo da estante (command "box" (list 0 profundidade 0) (list comprimento (+ profundidade espessura) altura)) ;desenhar fundo da estante (command "box" (list 0 0 espessura) (list espessura profundidade (- altura espessura))) ;desenhar a lateral esq da estante (command "box" (list (- comprimento espessura) 0 espessura) (list comprimento profundidade (- altura espessura))) ;desenhar a lateral dir da estante (command "box" (list espessura 0 (+ alt1 espessura)) (list (- comprimento espessura) profundidade (+ alt1 espessura espessura))) ;desenhar a prateleira de baixo (command "copy" (entlast) "" (list 0 0 0) (list 0 0 (+ alt1 espessura espessura))) (command "copy" (entlast) "" (list 0 0 0) (list 0 0 (+ alt1 espessura espessura))) ) )